package com.ihemou.system.service;

import com.ihemou.system.domain.SysSocialUser;
import com.ihemou.system.domain.SysUser;
import com.ihemou.system.dto.WxUserInfoDTO;

import java.util.List;

/**
 * All rights Reserved, Designed By saperliu
 * Copyright:    Copyright(C) 2021-2021
 * 社交账号Service接口
 *
 * @author saperliu
 * @date 2021年09月02日
 */
public interface ISysSocialUserService {

    /**
     * 根据条件分页查询社交账号数据
     *
     * @param sysSocialUser 过滤条件
     * @return 社交账号数据集合信息
     */
    public List<SysSocialUser> findSysSocialUserByCondition(SysSocialUser sysSocialUser);


    /**
     * 查询社交账号
     *
     * @param id 社交账号ID
     * @return 社交账号
     */
    public SysSocialUser selectSysSocialUserById(String id);


    /**
     * 新增社交账号
     *
     * @param sysSocialUser 社交账号
     * @return 结果
     */
    public int insertSysSocialUser(SysSocialUser sysSocialUser);

    /**
     * 修改社交账号
     *
     * @param sysSocialUser 社交账号
     * @return 结果
     */
    public int updateSysSocialUser(SysSocialUser sysSocialUser);

    /**
     * 批量删除社交账号
     *
     * @param ids 需要删除的社交账号ID
     * @return 结果
     */
    public int deleteSysSocialUserByIds(String[] ids);

    /**
     * 删除社交账号信息
     *
     * @param id 社交账号ID
     * @return 结果
     */
    public int deleteSysSocialUserById(String id);

    /**
     * 微信小程序授权登录保存用户信息
     *
     * @param wxUserInfoDTO 小程序用户信息
     * @return 系统用户信息
     */
    public SysUser saveWxSocialUser(WxUserInfoDTO wxUserInfoDTO);

    /**
     * 微信小程序授权登录保存用户信息
     *
     * @param wxUserInfoDTO 小程序用户信息
     * @return 系统用户信息
     */
    public SysUser findWxSocialUser(WxUserInfoDTO wxUserInfoDTO);
}
